// source --> http://androidbox.vn/wp-content/themes/abox/js/customscript.js jQuery.fn.exists = function(callback) { var args = [].slice.call(arguments, 1); if (this.length) { callback.call(this, args); } return this; }; /*! .isOnScreen() returns bool */ jQuery.fn.isOnScreen = function(){ var win = jQuery(window); var viewport = { top : win.scrollTop(), left : win.scrollLeft() }; viewport.right = viewport.left + win.width(); viewport.bottom = viewport.top + win.height(); var bounds = this.offset(); bounds.right = bounds.left + this.outerWidth(); bounds.bottom = bounds.top + this.outerHeight(); return (!(viewport.right < bounds.left || viewport.left > bounds.right || viewport.bottom < bounds.top || viewport.top > bounds.bottom)); }; /*---------------------------------------------------- /* Scroll to top /*--------------------------------------------------*/ jQuery(document).ready(function() { //move-to-top arrow jQuery("body").prepend(""); var scrollDes = 'html,body'; /*Opera does a strange thing if we use 'html' and 'body' together so my solution is to do the UA sniffing thing*/ if(navigator.userAgent.match(/opera/i)){ scrollDes = 'html'; } //show ,hide jQuery(window).scroll(function () { if (jQuery(this).scrollTop() > 160 && !jQuery('#footer-to-top').isOnScreen()) { jQuery('#move-to-top').addClass('filling').removeClass('hiding'); } else { jQuery('#move-to-top').removeClass('filling').addClass('hiding'); } }); }); /*---------------------------------------------------- /* Header Cart /*---------------------------------------------------*/ jQuery(document).ready(function($){ if ( $('.mts-cart-button-wrap').length ) { var cart_selector = '.mts-cart-button-wrap'; var $wrapper = $(cart_selector); var openCart = function() { var $wrapper = $(cart_selector); if ($wrapper.find('mark').first().text() == '0') return true; $wrapper.addClass('cart-content-visible').removeClass('cart-content-hidden'); $wrapper.children('.cart-contents').css('height', ($wrapper.find('.mts-cart-content').height() + 36) + 'px'); }; var closeCart = function() { var $wrapper = $(cart_selector); $wrapper.addClass('cart-content-hidden').removeClass('cart-content-visible'); $wrapper.children('.cart-contents').css('height', '36px'); }; var $button = $wrapper.children('.mts-cart-button'); $wrapper.css('width', $button.outerWidth()+'px'); $button.width($button.width()); $('#header').on('mouseenter', cart_selector, openCart) // open cart on hover .on('click', '.close-cart', function(e) { e.preventDefault(); }); // prevent scrolling on close-cart buttons jQuery(document).click(function(event) { // close on click outside $target = $(event.target); if ($target.is(cart_selector) || $target.closest(cart_selector).length > 0) { // don't close cart if click is inside if (!$target.is('.close-cart') && !$target.closest('.close-cart').length) return true; // except if it's the close button } closeCart();// now close }).on('ajaxComplete', function(event, xhr, settings) { if (typeof settings.data == 'string' && settings.data.indexOf('action=woocommerce_add_to_cart') > -1) { openCart(); } }); $('#header').on('click', '.mts-cart-product .remove', function(e) { $(this).closest('.mts-cart-row').fadeOut(400, function() { openCart(); }); }); } }); /*---------------------------------------------------- /* Make all anchor links smooth scrolling /*--------------------------------------------------*/ jQuery(document).ready(function($) { // scroll handler var scrollToAnchor = function( id, event ) { // grab the element to scroll to based on the name var elem = $("a[name='"+ id +"']"); // if that didn't work, look for an element with our ID if ( typeof( elem.offset() ) === "undefined" ) { elem = $("#"+id); } // if the destination element exists if ( typeof( elem.offset() ) !== "undefined" ) { // cancel default event propagation event.preventDefault(); var scroll_to = elem.offset().top; // do the scroll $('html, body').animate({ scrollTop: scroll_to }, 600, 'swing', function() { if (scroll_to > 46) window.location.hash = id; } ); } }; // bind to click event $("a").click(function( event ) { // only do this if it's an anchor link var href = $(this).attr("href"); if ( href && href.match("#") && href !== '#' && $(this).parents(".tabs").length !== 1 ) { // scroll to the location var parts = href.split('#'), url = parts[0], target = parts[1]; if ((!url || url == window.location.href.split('#')[0]) && target) scrollToAnchor( target, event ); } }); }); /*---------------------------------------------------- /* Responsive Navigation /*--------------------------------------------------*/ if (mts_customscript.responsive ) { jQuery(document).ready(function($){ var menu_wrapper = $('.secondary-navigation') .clone().attr('class', 'mobile-menu secondary').removeAttr('id') .wrap('
').parent().hide() .appendTo('body'); $('.toggle-mobile-menu').click(function(e) { e.preventDefault(); e.stopPropagation(); $('#mobile-menu-wrapper').show(); $('body').toggleClass('mobile-menu-active'); }); // prevent propagation of scroll event to parent $(document).on('DOMMouseScroll mousewheel', '#mobile-menu-wrapper .mobile-menu', function(ev) { var $this = $(this), scrollTop = this.scrollTop, scrollHeight = this.scrollHeight, height = $this.height(), delta = (ev.type == 'DOMMouseScroll' ? ev.originalEvent.detail * -40 : ev.originalEvent.wheelDelta), up = delta > 0; var prevent = function() { ev.stopPropagation(); ev.preventDefault(); ev.returnValue = false; return false; } if (!up && -delta > scrollHeight - height - scrollTop) { // Scrolling down, but this will take us past the bottom. $this.scrollTop(scrollHeight); return prevent(); } else if (up && delta > scrollTop) { // Scrolling up, but this will take us past the top. $this.scrollTop(0); return prevent(); } }); }).click(function() { jQuery('body').removeClass('mobile-menu-active'); }); } /*---------------------------------------------------- /* Dropdown menu /* ------------------------------------------------- */ jQuery(document).ready(function($) { $('#navigation ul.sub-menu, #navigation ul.children').hide(); // hides the submenus in mobile menu too $('#navigation li').hover( function() { $(this).children('ul.sub-menu, ul.children').slideDown('fast'); }, function() { $(this).children('ul.sub-menu, ul.children').hide(); } ); }); /*--------------------------------------------------- /* Vertical ( widget ) menus/lists /* -------------------------------------------------*/ jQuery(document).ready(function($) { $('.widget_nav_menu, .widget_product_categories, .widget_pages, .widget_categories').addClass('toggle-menu'); $('.toggle-menu ul.sub-menu, .toggle-menu ul.children').addClass('toggle-submenu'); $('.toggle-menu .current-menu-item, .toggle-menu .current-cat, .toggle-menu .current_page_item').addClass('toggle-menu-current-item'); //$('.toggle-menu .menu-item-has-children, .toggle-menu .cat-parent, .toggle-menu .page_item_has_children').addClass('toggle-menu-item-parent'); $('.toggle-menu ul.sub-menu, .toggle-menu ul.children').parent().addClass('toggle-menu-item-parent'); $('.toggle-menu').each(function() { var $this = $(this); $this.find('.toggle-submenu').hide(); $this.find('.toggle-menu-current-item').last().parents('.toggle-menu-item-parent').addClass('active').children('.toggle-submenu').show(); $this.find('.toggle-menu-item-parent').append(''); }); $('.toggle-caret').click(function(e) { e.preventDefault(); $(this).parent().toggleClass('active').children('.toggle-submenu').slideToggle('fast'); }); }); /*---------------------------------------------------- /* Social button scripts /*---------------------------------------------------*/ jQuery(document).ready(function($){ (function(d, s) { var js, fjs = d.getElementsByTagName(s)[0], load = function(url, id) { if (d.getElementById(id)) {return;} js = d.createElement(s); js.src = url; js.id = id; fjs.parentNode.insertBefore(js, fjs); }; jQuery('span.facebookbtn, .facebook_like').exists(function() { load('//connect.facebook.net/en_US/all.js#xfbml=1', 'fbjssdk'); }); jQuery('span.gplusbtn').exists(function() { load('https://apis.google.com/js/plusone.js', 'gplus1js'); }); jQuery('span.twitterbtn').exists(function() { load('//platform.twitter.com/widgets.js', 'tweetjs'); }); jQuery('span.linkedinbtn').exists(function() { load('//platform.linkedin.com/in.js', 'linkedinjs'); }); jQuery('span.pinbtn').exists(function() { load('//assets.pinterest.com/js/pinit.js', 'pinterestjs'); }); jQuery('span.stumblebtn').exists(function() { load('//platform.stumbleupon.com/1/widgets.js', 'stumbleuponjs'); }); }(document, 'script')); }); /*--------------------------------------------------- /* Accordion Widget /* -------------------------------------------------*/ jQuery(document).ready(function($) { if ( $('.mts-accordion').length ) { $('.mts-accordion').each(function() { var $this = $(this); $this.find(".mts_accordion_togglec").hide(); $this.find(".mts_accordion_togglec:first").show().prev(".mts_accordion_togglet").addClass("mts_accordion_toggleta"); }); $(".mts_accordion_togglet").click(function(){ var $this = $(this), $accWrap = $this.closest('.mts-accordion'); if ( ! $this.hasClass("mts_accordion_toggleta") ) { $accWrap.find(".mts_accordion_toggleta").removeClass("mts_accordion_toggleta").next(".mts_accordion_togglec").slideUp("normal"); $this.addClass("mts_accordion_toggleta").next(".mts_accordion_togglec").slideDown("normal"); } }); } }); // source --> http://androidbox.vn/wp-content/themes/abox/owl/lightslider.js (function ($, undefined) { 'use strict'; var defaults = { item: 3, autoWidth: false, slideMove: 1, slideMargin: 10, addClass: '', mode: 'slide', useCSS: true, cssEasing: 'ease', //'cubic-bezier(0.25, 0, 0.25, 1)', easing: 'linear', //'for jquery animation',// speed: 400, //ms' auto: false, pauseOnHover: false, loop: false, slideEndAnimation: true, pause: 2000, keyPress: false, controls: true, prevHtml: '', nextHtml: '', rtl: false, adaptiveHeight: false, vertical: false, verticalHeight: 500, vThumbWidth: 100, thumbItem: 10, pager: true, gallery: false, galleryMargin: 5, thumbMargin: 5, currentPagerPosition: 'middle', enableTouch: true, enableDrag: true, freeMove: true, swipeThreshold: 40, responsive: [], /* jshint ignore:start */ onBeforeStart: function ($el) {}, onSliderLoad: function ($el) {}, onBeforeSlide: function ($el, scene) {}, onAfterSlide: function ($el, scene) {}, onBeforeNextSlide: function ($el, scene) {}, onBeforePrevSlide: function ($el, scene) {} /* jshint ignore:end */ }; $.fn.lightSlider = function (options) { if (this.length === 0) { return this; } if (this.length > 1) { this.each(function () { $(this).lightSlider(options); }); return this; } var plugin = {}, settings = $.extend(true, {}, defaults, options), settingsTemp = {}, $el = this; plugin.$el = this; if (settings.mode === 'fade') { settings.vertical = false; } var $children = $el.children(), windowW = $(window).width(), breakpoint = null, resposiveObj = null, length = 0, w = 0, on = false, elSize = 0, $slide = '', scene = 0, property = (settings.vertical === true) ? 'height' : 'width', gutter = (settings.vertical === true) ? 'margin-bottom' : 'margin-right', slideValue = 0, pagerWidth = 0, slideWidth = 0, thumbWidth = 0, interval = null, isTouch = ('ontouchstart' in document.documentElement); var refresh = {}; refresh.chbreakpoint = function () { windowW = $(window).width(); if (settings.responsive.length) { var item; if (settings.autoWidth === false) { item = settings.item; } if (windowW < settings.responsive[0].breakpoint) { for (var i = 0; i < settings.responsive.length; i++) { if (windowW < settings.responsive[i].breakpoint) { breakpoint = settings.responsive[i].breakpoint; resposiveObj = settings.responsive[i]; } } } if (typeof resposiveObj !== 'undefined' && resposiveObj !== null) { for (var j in resposiveObj.settings) { if (resposiveObj.settings.hasOwnProperty(j)) { if (typeof settingsTemp[j] === 'undefined' || settingsTemp[j] === null) { settingsTemp[j] = settings[j]; } settings[j] = resposiveObj.settings[j]; } } } if (!$.isEmptyObject(settingsTemp) && windowW > settings.responsive[0].breakpoint) { for (var k in settingsTemp) { if (settingsTemp.hasOwnProperty(k)) { settings[k] = settingsTemp[k]; } } } if (settings.autoWidth === false) { if (slideValue > 0 && slideWidth > 0) { if (item !== settings.item) { scene = Math.round(slideValue / ((slideWidth + settings.slideMargin) * settings.slideMove)); } } } } }; refresh.calSW = function () { if (settings.autoWidth === false) { slideWidth = (elSize - ((settings.item * (settings.slideMargin)) - settings.slideMargin)) / settings.item; } }; refresh.calWidth = function (cln) { var ln = cln === true ? $slide.find('.lslide').length : $children.length; if (settings.autoWidth === false) { w = ln * (slideWidth + settings.slideMargin); } else { w = 0; for (var i = 0; i < ln; i++) { w += (parseInt($children.eq(i).width()) + settings.slideMargin); } } return w; }; plugin = { doCss: function () { var support = function () { var transition = ['transition', 'MozTransition', 'WebkitTransition', 'OTransition', 'msTransition', 'KhtmlTransition']; var root = document.documentElement; for (var i = 0; i < transition.length; i++) { if (transition[i] in root.style) { return true; } } }; if (settings.useCSS && support()) { return true; } return false; }, keyPress: function () { if (settings.keyPress) { $(document).on('keyup.lightslider', function (e) { if (!$(':focus').is('input, textarea')) { if (e.preventDefault) { e.preventDefault(); } else { e.returnValue = false; } if (e.keyCode === 37) { $el.goToPrevSlide(); } else if (e.keyCode === 39) { $el.goToNextSlide(); } } }); } }, controls: function () { if (settings.controls) { $el.after('
' + settings.prevHtml + '' + settings.nextHtml + '
'); if (!settings.autoWidth) { if (length <= settings.item) { $slide.find('.lSAction').hide(); } } else { if (refresh.calWidth(false) < elSize) { $slide.find('.lSAction').hide(); } } $slide.find('.lSAction a').on('click', function (e) { if (e.preventDefault) { e.preventDefault(); } else { e.returnValue = false; } if ($(this).attr('class') === 'lSPrev') { $el.goToPrevSlide(); } else { $el.goToNextSlide(); } return false; }); } }, initialStyle: function () { var $this = this; if (settings.mode === 'fade') { settings.autoWidth = false; settings.slideEndAnimation = false; } if (settings.auto) { settings.slideEndAnimation = false; } if (settings.autoWidth) { settings.slideMove = 1; settings.item = 1; } if (settings.loop) { settings.slideMove = 1; settings.freeMove = false; } settings.onBeforeStart.call(this, $el); refresh.chbreakpoint(); $el.addClass('lightSlider').wrap('
'); $slide = $el.parent('.lSSlideWrapper'); if (settings.rtl === true) { $slide.parent().addClass('lSrtl'); } if (settings.vertical) { $slide.parent().addClass('vertical'); elSize = settings.verticalHeight; $slide.css('height', elSize + 'px'); } else { elSize = $el.outerWidth(); } $children.addClass('lslide'); if (settings.loop === true && settings.mode === 'slide') { refresh.calSW(); refresh.clone = function () { if (refresh.calWidth(true) > elSize) { /**/ var tWr = 0, tI = 0; for (var k = 0; k < $children.length; k++) { tWr += (parseInt($el.find('.lslide').eq(k).width()) + settings.slideMargin); tI++; if (tWr >= (elSize + settings.slideMargin)) { break; } } var tItem = settings.autoWidth === true ? tI : settings.item; /**/ if (tItem < $el.find('.clone.left').length) { for (var i = 0; i < $el.find('.clone.left').length - tItem; i++) { $children.eq(i).remove(); } } if (tItem < $el.find('.clone.right').length) { for (var j = $children.length - 1; j > ($children.length - 1 - $el.find('.clone.right').length); j--) { scene--; $children.eq(j).remove(); } } /**/ for (var n = $el.find('.clone.right').length; n < tItem; n++) { $el.find('.lslide').eq(n).clone().removeClass('lslide').addClass('clone right').appendTo($el); scene++; } for (var m = $el.find('.lslide').length - $el.find('.clone.left').length; m > ($el.find('.lslide').length - tItem); m--) { $el.find('.lslide').eq(m - 1).clone().removeClass('lslide').addClass('clone left').prependTo($el); } $children = $el.children(); } else { if ($children.hasClass('clone')) { $el.find('.clone').remove(); $this.move($el, 0); } } }; refresh.clone(); } refresh.sSW = function () { length = $children.length; if (settings.rtl === true && settings.vertical === false) { gutter = 'margin-left'; } if (settings.autoWidth === false) { $children.css(property, slideWidth + 'px'); } $children.css(gutter, settings.slideMargin + 'px'); w = refresh.calWidth(false); $el.css(property, w + 'px'); if (settings.loop === true && settings.mode === 'slide') { if (on === false) { scene = $el.find('.clone.left').length; } } }; refresh.calL = function () { $children = $el.children(); length = $children.length; }; if (this.doCss()) { $slide.addClass('usingCss'); } refresh.calL(); if (settings.mode === 'slide') { refresh.calSW(); refresh.sSW(); if (settings.loop === true) { slideValue = $this.slideValue(); this.move($el, slideValue); } if (settings.vertical === false) { this.setHeight($el, false); } } else { this.setHeight($el, true); $el.addClass('lSFade'); if (!this.doCss()) { $children.fadeOut(0); $children.eq(scene).fadeIn(0); } } if (settings.loop === true && settings.mode === 'slide') { $children.eq(scene).addClass('active'); } else { $children.first().addClass('active'); } }, pager: function () { var $this = this; refresh.createPager = function () { thumbWidth = (elSize - ((settings.thumbItem * (settings.thumbMargin)) - settings.thumbMargin)) / settings.thumbItem; var $children = $slide.find('.lslide'); var length = $slide.find('.lslide').length; var i = 0, pagers = '', v = 0; for (i = 0; i < length; i++) { if (settings.mode === 'slide') { // calculate scene * slide value if (!settings.autoWidth) { v = i * ((slideWidth + settings.slideMargin) * settings.slideMove); } else { v += ((parseInt($children.eq(i).width()) + settings.slideMargin) * settings.slideMove); } } var thumb = $children.eq(i * settings.slideMove).attr('data-thumb'); if (settings.gallery === true) { pagers += '
  • '; } else { pagers += '
  • ' + (i + 1) + '
  • '; } if (settings.mode === 'slide') { if ((v) >= w - elSize - settings.slideMargin) { i = i + 1; var minPgr = 2; if (settings.autoWidth) { pagers += '
  • ' + (i + 1) + '
  • '; minPgr = 1; } if (i < minPgr) { pagers = null; $slide.parent().addClass('noPager'); } else { $slide.parent().removeClass('noPager'); } break; } } } var $cSouter = $slide.parent(); $cSouter.find('.lSPager').html(pagers); if (settings.gallery === true) { if (settings.vertical === true) { // set Gallery thumbnail width $cSouter.find('.lSPager').css('width', settings.vThumbWidth + 'px'); } pagerWidth = (i * (settings.thumbMargin + thumbWidth)) + 0.5; $cSouter.find('.lSPager').css({ property: pagerWidth + 'px', 'transition-duration': settings.speed + 'ms' }); if (settings.vertical === true) { $slide.parent().css('padding-right', (settings.vThumbWidth + settings.galleryMargin) + 'px'); } $cSouter.find('.lSPager').css(property, pagerWidth + 'px'); } var $pager = $cSouter.find('.lSPager').find('li'); $pager.first().addClass('active'); $pager.on('click', function () { if (settings.loop === true && settings.mode === 'slide') { scene = scene + ($pager.index(this) - $cSouter.find('.lSPager').find('li.active').index()); } else { scene = $pager.index(this); } $el.mode(false); if (settings.gallery === true) { $this.slideThumb(); } return false; }); }; if (settings.pager) { var cl = 'lSpg'; if (settings.gallery) { cl = 'lSGallery'; } $slide.after(''); var gMargin = (settings.vertical) ? 'margin-left' : 'margin-top'; $slide.parent().find('.lSPager').css(gMargin, settings.galleryMargin + 'px'); refresh.createPager(); } setTimeout(function () { refresh.init(); }, 0); }, setHeight: function (ob, fade) { var obj = null, $this = this; if (settings.loop) { obj = ob.children('.lslide ').first(); } else { obj = ob.children().first(); } var setCss = function () { var tH = obj.outerHeight(), tP = 0, tHT = tH; if (fade) { tH = 0; tP = ((tHT) * 100) / elSize; } ob.css({ 'height': tH + 'px', 'padding-bottom': tP + '%' }); }; setCss(); if (obj.find('img').length) { if ( obj.find('img')[0].complete) { setCss(); if (!interval) { $this.auto(); } }else{ obj.find('img').load(function () { setTimeout(function () { setCss(); if (!interval) { $this.auto(); } }, 100); }); } }else{ if (!interval) { $this.auto(); } } }, active: function (ob, t) { if (this.doCss() && settings.mode === 'fade') { $slide.addClass('on'); } var sc = 0; if (scene * settings.slideMove < length) { ob.removeClass('active'); if (!this.doCss() && settings.mode === 'fade' && t === false) { ob.fadeOut(settings.speed); } if (t === true) { sc = scene; } else { sc = scene * settings.slideMove; } //t === true ? sc = scene : sc = scene * settings.slideMove; var l, nl; if (t === true) { l = ob.length; nl = l - 1; if (sc + 1 >= l) { sc = nl; } } if (settings.loop === true && settings.mode === 'slide') { //t === true ? sc = scene - $el.find('.clone.left').length : sc = scene * settings.slideMove; if (t === true) { sc = scene - $el.find('.clone.left').length; } else { sc = scene * settings.slideMove; } if (t === true) { l = ob.length; nl = l - 1; if (sc + 1 === l) { sc = nl; } else if (sc + 1 > l) { sc = 0; } } } if (!this.doCss() && settings.mode === 'fade' && t === false) { ob.eq(sc).fadeIn(settings.speed); } ob.eq(sc).addClass('active'); } else { ob.removeClass('active'); ob.eq(ob.length - 1).addClass('active'); if (!this.doCss() && settings.mode === 'fade' && t === false) { ob.fadeOut(settings.speed); ob.eq(sc).fadeIn(settings.speed); } } }, move: function (ob, v) { if (settings.rtl === true) { v = -v; } if (this.doCss()) { if (settings.vertical === true) { ob.css({ 'transform': 'translate3d(0px, ' + (-v) + 'px, 0px)', '-webkit-transform': 'translate3d(0px, ' + (-v) + 'px, 0px)' }); } else { ob.css({ 'transform': 'translate3d(' + (-v) + 'px, 0px, 0px)', '-webkit-transform': 'translate3d(' + (-v) + 'px, 0px, 0px)', }); } } else { if (settings.vertical === true) { ob.css('position', 'relative').animate({ top: -v + 'px' }, settings.speed, settings.easing); } else { ob.css('position', 'relative').animate({ left: -v + 'px' }, settings.speed, settings.easing); } } var $thumb = $slide.parent().find('.lSPager').find('li'); this.active($thumb, true); }, fade: function () { this.active($children, false); var $thumb = $slide.parent().find('.lSPager').find('li'); this.active($thumb, true); }, slide: function () { var $this = this; refresh.calSlide = function () { if (w > elSize) { slideValue = $this.slideValue(); $this.active($children, false); if ((slideValue) > w - elSize - settings.slideMargin) { slideValue = w - elSize - settings.slideMargin; } else if (slideValue < 0) { slideValue = 0; } $this.move($el, slideValue); if (settings.loop === true && settings.mode === 'slide') { if (scene >= (length - ($el.find('.clone.left').length / settings.slideMove))) { $this.resetSlide($el.find('.clone.left').length); } if (scene === 0) { $this.resetSlide($slide.find('.lslide').length); } } } }; refresh.calSlide(); }, resetSlide: function (s) { var $this = this; $slide.find('.lSAction a').addClass('disabled'); setTimeout(function () { scene = s; $slide.css('transition-duration', '0ms'); slideValue = $this.slideValue(); $this.active($children, false); plugin.move($el, slideValue); setTimeout(function () { $slide.css('transition-duration', settings.speed + 'ms'); $slide.find('.lSAction a').removeClass('disabled'); }, 50); }, settings.speed + 100); }, slideValue: function () { var _sV = 0; if (settings.autoWidth === false) { _sV = scene * ((slideWidth + settings.slideMargin) * settings.slideMove); } else { _sV = 0; for (var i = 0; i < scene; i++) { _sV += (parseInt($children.eq(i).width()) + settings.slideMargin); } } return _sV; }, slideThumb: function () { var position; switch (settings.currentPagerPosition) { case 'left': position = 0; break; case 'middle': position = (elSize / 2) - (thumbWidth / 2); break; case 'right': position = elSize - thumbWidth; } var sc = scene - $el.find('.clone.left').length; var $pager = $slide.parent().find('.lSPager'); if (settings.mode === 'slide' && settings.loop === true) { if (sc >= $pager.children().length) { sc = 0; } else if (sc < 0) { sc = $pager.children().length; } } var thumbSlide = sc * ((thumbWidth + settings.thumbMargin)) - (position); if ((thumbSlide + elSize) > pagerWidth) { thumbSlide = pagerWidth - elSize - settings.thumbMargin; } if (thumbSlide < 0) { thumbSlide = 0; } this.move($pager, thumbSlide); }, auto: function () { if (settings.auto) { clearInterval(interval); interval = setInterval(function () { $el.goToNextSlide(); }, settings.pause); } }, pauseOnHover: function(){ var $this = this; if (settings.auto && settings.pauseOnHover) { $slide.on('mouseenter', function(){ $(this).addClass('ls-hover'); $el.pause(); settings.auto = true; }); $slide.on('mouseleave',function(){ $(this).removeClass('ls-hover'); if (!$slide.find('.lightSlider').hasClass('lsGrabbing')) { $this.auto(); } }); } }, touchMove: function (endCoords, startCoords) { $slide.css('transition-duration', '0ms'); if (settings.mode === 'slide') { var distance = endCoords - startCoords; var swipeVal = slideValue - distance; if ((swipeVal) >= w - elSize - settings.slideMargin) { if (settings.freeMove === false) { swipeVal = w - elSize - settings.slideMargin; } else { var swipeValT = w - elSize - settings.slideMargin; swipeVal = swipeValT + ((swipeVal - swipeValT) / 5); } } else if (swipeVal < 0) { if (settings.freeMove === false) { swipeVal = 0; } else { swipeVal = swipeVal / 5; } } this.move($el, swipeVal); } }, touchEnd: function (distance) { $slide.css('transition-duration', settings.speed + 'ms'); if (settings.mode === 'slide') { var mxVal = false; var _next = true; slideValue = slideValue - distance; if ((slideValue) > w - elSize - settings.slideMargin) { slideValue = w - elSize - settings.slideMargin; if (settings.autoWidth === false) { mxVal = true; } } else if (slideValue < 0) { slideValue = 0; } var gC = function (next) { var ad = 0; if (!mxVal) { if (next) { ad = 1; } } if (!settings.autoWidth) { var num = slideValue / ((slideWidth + settings.slideMargin) * settings.slideMove); scene = parseInt(num) + ad; if (slideValue >= (w - elSize - settings.slideMargin)) { if (num % 1 !== 0) { scene++; } } } else { var tW = 0; for (var i = 0; i < $children.length; i++) { tW += (parseInt($children.eq(i).width()) + settings.slideMargin); scene = i + ad; if (tW >= slideValue) { break; } } } }; if (distance >= settings.swipeThreshold) { gC(false); _next = false; } else if (distance <= -settings.swipeThreshold) { gC(true); _next = false; } $el.mode(_next); this.slideThumb(); } else { if (distance >= settings.swipeThreshold) { $el.goToPrevSlide(); } else if (distance <= -settings.swipeThreshold) { $el.goToNextSlide(); } } }, enableDrag: function () { var $this = this; if (!isTouch) { var startCoords = 0, endCoords = 0, isDraging = false; $slide.find('.lightSlider').addClass('lsGrab'); $slide.on('mousedown', function (e) { if (w < elSize) { if (w !== 0) { return false; } } if ($(e.target).attr('class') !== ('lSPrev') && $(e.target).attr('class') !== ('lSNext')) { startCoords = (settings.vertical === true) ? e.pageY : e.pageX; isDraging = true; if (e.preventDefault) { e.preventDefault(); } else { e.returnValue = false; } // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723 $slide.scrollLeft += 1; $slide.scrollLeft -= 1; // * $slide.find('.lightSlider').removeClass('lsGrab').addClass('lsGrabbing'); clearInterval(interval); } }); $(window).on('mousemove', function (e) { if (isDraging) { endCoords = (settings.vertical === true) ? e.pageY : e.pageX; $this.touchMove(endCoords, startCoords); } }); $(window).on('mouseup', function (e) { if (isDraging) { $slide.find('.lightSlider').removeClass('lsGrabbing').addClass('lsGrab'); isDraging = false; endCoords = (settings.vertical === true) ? e.pageY : e.pageX; var distance = endCoords - startCoords; if (Math.abs(distance) >= settings.swipeThreshold) { $(window).on('click.ls', function (e) { if (e.preventDefault) { e.preventDefault(); } else { e.returnValue = false; } e.stopImmediatePropagation(); e.stopPropagation(); $(window).off('click.ls'); }); } $this.touchEnd(distance); } }); } }, enableTouch: function () { var $this = this; if (isTouch) { var startCoords = {}, endCoords = {}; $slide.on('touchstart', function (e) { endCoords = e.originalEvent.targetTouches[0]; startCoords.pageX = e.originalEvent.targetTouches[0].pageX; startCoords.pageY = e.originalEvent.targetTouches[0].pageY; clearInterval(interval); }); $slide.on('touchmove', function (e) { if (w < elSize) { if (w !== 0) { return false; } } var orig = e.originalEvent; endCoords = orig.targetTouches[0]; var xMovement = Math.abs(endCoords.pageX - startCoords.pageX); var yMovement = Math.abs(endCoords.pageY - startCoords.pageY); if (settings.vertical === true) { if ((yMovement * 3) > xMovement) { e.preventDefault(); } $this.touchMove(endCoords.pageY, startCoords.pageY); } else { if ((xMovement * 3) > yMovement) { e.preventDefault(); } $this.touchMove(endCoords.pageX, startCoords.pageX); } }); $slide.on('touchend', function () { if (w < elSize) { if (w !== 0) { return false; } } var distance; if (settings.vertical === true) { distance = endCoords.pageY - startCoords.pageY; } else { distance = endCoords.pageX - startCoords.pageX; } $this.touchEnd(distance); }); } }, build: function () { var $this = this; $this.initialStyle(); if (this.doCss()) { if (settings.enableTouch === true) { $this.enableTouch(); } if (settings.enableDrag === true) { $this.enableDrag(); } } $(window).on('focus', function(){ $this.auto(); }); $(window).on('blur', function(){ clearInterval(interval); }); $this.pager(); $this.pauseOnHover(); $this.controls(); $this.keyPress(); } }; plugin.build(); refresh.init = function () { refresh.chbreakpoint(); if (settings.vertical === true) { if (settings.item > 1) { elSize = settings.verticalHeight; } else { elSize = $children.outerHeight(); } $slide.css('height', elSize + 'px'); } else { elSize = $slide.outerWidth(); } if (settings.loop === true && settings.mode === 'slide') { refresh.clone(); } refresh.calL(); if (settings.mode === 'slide') { $el.removeClass('lSSlide'); } if (settings.mode === 'slide') { refresh.calSW(); refresh.sSW(); } setTimeout(function () { if (settings.mode === 'slide') { $el.addClass('lSSlide'); } }, 1000); if (settings.pager) { refresh.createPager(); } if (settings.adaptiveHeight === true && settings.vertical === false) { $el.css('height', $children.eq(scene).outerHeight(true)); } if (settings.adaptiveHeight === false) { if (settings.mode === 'slide') { if (settings.vertical === false) { plugin.setHeight($el, false); }else{ plugin.auto(); } } else { plugin.setHeight($el, true); } } if (settings.gallery === true) { plugin.slideThumb(); } if (settings.mode === 'slide') { plugin.slide(); } if (settings.autoWidth === false) { if ($children.length <= settings.item) { $slide.find('.lSAction').hide(); } else { $slide.find('.lSAction').show(); } } else { if ((refresh.calWidth(false) < elSize) && (w !== 0)) { $slide.find('.lSAction').hide(); } else { $slide.find('.lSAction').show(); } } }; $el.goToPrevSlide = function () { if (scene > 0) { settings.onBeforePrevSlide.call(this, $el, scene); scene--; $el.mode(false); if (settings.gallery === true) { plugin.slideThumb(); } } else { if (settings.loop === true) { settings.onBeforePrevSlide.call(this, $el, scene); if (settings.mode === 'fade') { var l = (length - 1); scene = parseInt(l / settings.slideMove); } $el.mode(false); if (settings.gallery === true) { plugin.slideThumb(); } } else if (settings.slideEndAnimation === true) { $el.addClass('leftEnd'); setTimeout(function () { $el.removeClass('leftEnd'); }, 400); } } }; $el.goToNextSlide = function () { var nextI = true; if (settings.mode === 'slide') { var _slideValue = plugin.slideValue(); nextI = _slideValue < w - elSize - settings.slideMargin; } if (((scene * settings.slideMove) < length - settings.slideMove) && nextI) { settings.onBeforeNextSlide.call(this, $el, scene); scene++; $el.mode(false); if (settings.gallery === true) { plugin.slideThumb(); } } else { if (settings.loop === true) { settings.onBeforeNextSlide.call(this, $el, scene); scene = 0; $el.mode(false); if (settings.gallery === true) { plugin.slideThumb(); } } else if (settings.slideEndAnimation === true) { $el.addClass('rightEnd'); setTimeout(function () { $el.removeClass('rightEnd'); }, 400); } } }; $el.mode = function (_touch) { if (settings.adaptiveHeight === true && settings.vertical === false) { $el.css('height', $children.eq(scene).outerHeight(true)); } if (on === false) { if (settings.mode === 'slide') { if (plugin.doCss()) { $el.addClass('lSSlide'); if (settings.speed !== '') { $slide.css('transition-duration', settings.speed + 'ms'); } if (settings.cssEasing !== '') { $slide.css('transition-timing-function', settings.cssEasing); } } } else { if (plugin.doCss()) { if (settings.speed !== '') { $el.css('transition-duration', settings.speed + 'ms'); } if (settings.cssEasing !== '') { $el.css('transition-timing-function', settings.cssEasing); } } } } if (!_touch) { settings.onBeforeSlide.call(this, $el, scene); } if (settings.mode === 'slide') { plugin.slide(); } else { plugin.fade(); } if (!$slide.hasClass('ls-hover')) { plugin.auto(); } setTimeout(function () { if (!_touch) { settings.onAfterSlide.call(this, $el, scene); } }, settings.speed); on = true; }; $el.play = function () { $el.goToNextSlide(); settings.auto = true; plugin.auto(); }; $el.pause = function () { settings.auto = false; clearInterval(interval); }; $el.refresh = function () { refresh.init(); }; $el.getCurrentSlideCount = function () { var sc = scene; if (settings.loop) { var ln = $slide.find('.lslide').length, cl = $el.find('.clone.left').length; if (scene <= cl - 1) { sc = ln + (scene - cl); } else if (scene >= (ln + cl)) { sc = scene - ln - cl; } else { sc = scene - cl; } } return sc + 1; }; $el.getTotalSlideCount = function () { return $slide.find('.lslide').length; }; $el.goToSlide = function (s) { if (settings.loop) { scene = (s + $el.find('.clone.left').length - 1); } else { scene = s; } $el.mode(false); if (settings.gallery === true) { plugin.slideThumb(); } }; $el.destroy = function () { if ($el.lightSlider) { $el.goToPrevSlide = function(){}; $el.goToNextSlide = function(){}; $el.mode = function(){}; $el.play = function(){}; $el.pause = function(){}; $el.refresh = function(){}; $el.getCurrentSlideCount = function(){}; $el.getTotalSlideCount = function(){}; $el.goToSlide = function(){}; $el.lightSlider = null; refresh = { init : function(){} }; $el.parent().parent().find('.lSAction, .lSPager').remove(); $el.removeClass('lightSlider lSFade lSSlide lsGrab lsGrabbing leftEnd right').removeAttr('style').unwrap().unwrap(); $el.children().removeAttr('style'); $children.removeClass('lslide active'); $el.find('.clone').remove(); $children = null; interval = null; on = false; scene = 0; } }; setTimeout(function () { settings.onSliderLoad.call(this, $el); }, 10); $(window).on('resize orientationchange', function (e) { setTimeout(function () { if (e.preventDefault) { e.preventDefault(); } else { e.returnValue = false; } refresh.init(); }, 200); }); return this; }; }(jQuery)); // source --> http://androidbox.vn/wp-content/themes/abox/owl/idtab.js /* idTabs ~ Sean Catchpole - Version 2.2 - MIT/GPL */ (function(){var dep={"jQuery":"http://code.jquery.com/jquery-latest.min.js"};var init=function(){(function($){$.fn.idTabs=function(){var s={};for(var i=0;i